<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 transitional//EN">
<html>
<head>
<title>Level Element (Eclipse BIRT ROM Documentation)</title>
<link rel="stylesheet" href="../style/style.css" type="text/css"/>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<p class="title">Eclipse BIRT Report Object Model (ROM)</p>
<p class="subtitle">Level Element</p>
<h1>Element Overview</h1>
<div class="section-text">
Base element for level elements within a hierarchy.</div>
<h3>Details</h3>

<table class="detail-table">
<tr><td>Display Name:</td>
<td>Level</td></tr>
<tr><td>Since:</td>
<td>2.2</td></tr>
<tr><td>XML Element:</td>
<td><code>None</code></td></tr>
<tr><td>Extends:</td>
<td><a href="ReportElement.html">ReportElement</a></td></tr>
<tr><td>Extendable:</td>
<td>No</td></tr>
<tr><td>Abstract:</td>
<td>Yes</td></tr>
<tr><td>Name Space:</td>
<td>Styles</td></tr>
<tr><td>Name Requirement:</td>
<td>Required</td></tr>
<tr><td>Allows User Properties:</td>
<td>Yes</td></tr>
<tr><td>Has Style:</td>
<td>No</td></tr>
</table>

<h3>Property Summary</h3>

<dl class="section-text">
<dt><a href="#Property-dataType">dataType</a></dt>
<dd>Level data type property.</dd>
<dt><a href="#Property-dateTimeFormat">dateTimeFormat</a></dt>
<dd>Date time format applied on this level element.</dd>
<dt><a href="#Property-dateTimeLevelType">dateTimeLevelType</a></dt>
<dd>Date time type.</dd>
<dt><a href="#Property-defaultValue">defaultValue</a></dt>
<dd>Default value expression applied on this level.</dd>
<dt><a href="#Property-interval">interval</a></dt>
<dd>When creating intervals, this property allows grouping on a range
of contiguous values.</dd>
<dt><a href="#Property-intervalBase">intervalBase</a></dt>
<dd>In conjunction with Interval and IntervalRange, determines how
data is divided into groups.</dd>
<dt><a href="#Property-intervalRange">intervalRange</a></dt>
<dd>Number of contiguous groups to merge to create a single group.</dd>
<dt><a href="#Property-levelType">levelType</a></dt>
<dd>Type of the level.</dd>
<dt><a href="#Property-staticValues">staticValues</a></dt>
<dd>Series of rules applied on this level.</dd>
</dl>

<h3>Inherited Properties</h3>

<p class="section-text">
<a href="ReportElement.html#Property-comments">comments</a>, 
<a href="DesignElement.html#Property-customXml">customXml</a>, 
<a href="ReportElement.html#Property-displayName">displayName</a>, 
<a href="ReportElement.html#Property-displayNameID">displayNameID</a>, 
<a href="ReportElement.html#Property-eventHandlerClass">eventHandlerClass</a>, 
<a href="ReportElement.html#Property-extends">extends</a>, 
<a href="ReportElement.html#Property-name">name</a>, 
<a href="ReportElement.html#Property-newHandlerOnEachEvent">newHandlerOnEachEvent</a>, 
<a href="DesignElement.html#Property-propertyMasks">propertyMasks</a>, 
<a href="DesignElement.html#Property-userProperties">userProperties</a>, 
<a href="ReportElement.html#Property-viewAction">viewAction</a>
</p>
<h3>Description</h3>

<div class="section-text">
<p>The Level is an abstract element that defines the basic
properties of a OLAP level element. It has two derived classes, one is
tabular level and another is ODA level.</p>

<p>Level is the real element which defined the column expression
from the dataset. You can set sort, filter, TOC on the level. The column
expression defined on the level could be dynamic reference to a dataset,
also it could be static that user defined on the level by a value list.</p></div>
<h1>Property Detail</h1>

<h2><a name="Property-dataType">dataType Property</a></h2>

<p class="section-text">Level data type property.</p>
<h3>Details</h3>

<table class="detail-table">
<tr><td>Type:</td>
<td><a href="../types.html#choice">choice</a> (columnDataType)</td></tr>
<tr><td>Since:</td>
<td>2.2</td></tr>
<tr><td>Required:</td>
<td>No</td></tr>
<tr><td>Display Name:</td>
<td>Data type</td></tr>
<tr><td>JavaScript Type:</td>
<td></td></tr>
<tr><td>Default Value:</td>
<td>None</td></tr>
<tr><td>Inherited:</td>
<td>Yes</td></tr>
<tr><td>Runtime Settable:</td>
<td>No</td></tr>
<tr><td>Property Sheet Visibility:</td>
<td>Visible</td></tr>
<tr><td>Property Sheet Group:</td>
<td>Top</td></tr>
</table>

<h3>Choices</h3>

<table class="section-table">
<thead><tr><td>Name</td><td>Display Name</td>
<td>Value</td><td>Description</td></tr></thead>
<tbody>
<tr><td>integer</td>
<td>Integer</td>
<td>integer</td>
<td></td></tr>
<tr><td>string</td>
<td>String</td>
<td>string</td>
<td></td></tr>
<tr><td>date-time</td>
<td>Date Time</td>
<td>date-time</td>
<td></td></tr>
<tr><td>decimal</td>
<td>Decimal</td>
<td>decimal</td>
<td></td></tr>
<tr><td>float</td>
<td>Float</td>
<td>float</td>
<td></td></tr>
<tr><td>boolean</td>
<td>Boolean</td>
<td>boolean</td>
<td></td></tr>
<tr><td>date</td>
<td>Date</td>
<td>date</td>
<td></td></tr>
<tr><td>time</td>
<td>Time</td>
<td>time</td>
<td></td></tr>
<tr><td>blob</td>
<td>Blob</td>
<td>blob</td>
<td></td></tr>
<tr><td>javaObject</td>
<td>Java Object</td>
<td>javaObject</td>
<td></td></tr>
</tbody></table><br>
<h3>Description</h3>

<div class="section-text">
<p>This property gives out the data type of the level resulting
data.</p></div>

<hr>
<h2><a name="Property-dateTimeFormat">dateTimeFormat Property</a></h2>

<p class="section-text">Date time format applied on this level element.</p>
<h3>Details</h3>

<table class="detail-table">
<tr><td>Type:</td>
<td><a href="../types.html#string">string</a></td></tr>
<tr><td>Since:</td>
<td>2.2</td></tr>
<tr><td>Required:</td>
<td>No</td></tr>
<tr><td>Display Name:</td>
<td>Date time format</td></tr>
<tr><td>JavaScript Type:</td>
<td></td></tr>
<tr><td>Default Value:</td>
<td>None</td></tr>
<tr><td>Inherited:</td>
<td>Yes</td></tr>
<tr><td>Runtime Settable:</td>
<td>No</td></tr>
<tr><td>Property Sheet Visibility:</td>
<td>Visible</td></tr>
<tr><td>Property Sheet Group:</td>
<td>Top</td></tr>
</table>

<h3>Description</h3>

<div class="section-text">
<p>This property defines how to format the value if the data type of
the level is date time.It contains the format pattern, category and
locale. If the the data type of the level is date time and you don't set
this property, the output is the general string calling toString method
in Object.</p></div>

<hr>
<h2><a name="Property-dateTimeLevelType">dateTimeLevelType Property</a></h2>

<p class="section-text">Date time type.</p>
<h3>Details</h3>

<table class="detail-table">
<tr><td>Type:</td>
<td><a href="../types.html#choice">choice</a> (dateTimeLevelType)</td></tr>
<tr><td>Since:</td>
<td>2.2</td></tr>
<tr><td>Required:</td>
<td>No</td></tr>
<tr><td>Display Name:</td>
<td>Date time level type</td></tr>
<tr><td>JavaScript Type:</td>
<td></td></tr>
<tr><td>Default Value:</td>
<td>None</td></tr>
<tr><td>Inherited:</td>
<td>Yes</td></tr>
<tr><td>Runtime Settable:</td>
<td>No</td></tr>
<tr><td>Property Sheet Visibility:</td>
<td>Visible</td></tr>
<tr><td>Property Sheet Group:</td>
<td>Top</td></tr>
</table>

<h3>Choices</h3>

<table class="section-table">
<thead><tr><td>Name</td><td>Display Name</td>
<td>Value</td><td>Description</td></tr></thead>
<tbody>
<tr><td>year</td>
<td>Year</td>
<td>year</td>
<td></td></tr>
<tr><td>quarter</td>
<td>Quarter</td>
<td>quarter</td>
<td></td></tr>
<tr><td>month</td>
<td>Month</td>
<td>month</td>
<td></td></tr>
<tr><td>week-of-month</td>
<td>Week Of Month</td>
<td>week-of-month</td>
<td></td></tr>
<tr><td>week-of-year</td>
<td>Week Of Year</td>
<td>week-of-year</td>
<td></td></tr>
<tr><td>day-of-week</td>
<td>Day Of Week</td>
<td>day-of-week</td>
<td></td></tr>
<tr><td>day-of-month</td>
<td>Day Of Month</td>
<td>day-of-month</td>
<td></td></tr>
<tr><td>day-of-year</td>
<td>Day Of Year</td>
<td>day-of-year</td>
<td></td></tr>
<tr><td>hour</td>
<td>Hour</td>
<td>hour</td>
<td></td></tr>
<tr><td>minute</td>
<td>Minute</td>
<td>minute</td>
<td></td></tr>
<tr><td>second</td>
<td>Second</td>
<td>second</td>
<td></td></tr>
</tbody></table><br>
<h3>Description</h3>

<div class="section-text">
<p>This property specifies the detail type if the level is date
time. This is used to speed up the performance.</p></div>

<hr>
<h2><a name="Property-defaultValue">defaultValue Property</a></h2>

<p class="section-text">Default value expression applied on this level.</p>
<h3>Details</h3>

<table class="detail-table">
<tr><td>Type:</td>
<td><a href="../types.html#expression">expression</a></td></tr>
<tr><td>Context:</td>
<td></td></tr>
<tr><td>Expression Type:</td>
<td>None</td></tr>
<tr><td>Since:</td>
<td>2.3</td></tr>
<tr><td>Required:</td>
<td>No</td></tr>
<tr><td>Display Name:</td>
<td>Default value</td></tr>
<tr><td>JavaScript Type:</td>
<td></td></tr>
<tr><td>Default Value:</td>
<td>None</td></tr>
<tr><td>Inherited:</td>
<td>Yes</td></tr>
<tr><td>Runtime Settable:</td>
<td>Yes</td></tr>
<tr><td>Property Sheet Visibility:</td>
<td>Visible</td></tr>
<tr><td>Property Sheet Group:</td>
<td>Top</td></tr>
</table>

<h3>Description</h3>

<div class="section-text">
<p>This property defines.</p></div>

<hr>
<h2><a name="Property-interval">interval Property</a></h2>

<p class="section-text">When creating intervals, this property allows grouping on a range
of contiguous values.</p>
<h3>Details</h3>

<table class="detail-table">
<tr><td>Type:</td>
<td><a href="../types.html#choice">choice</a> (intervalType)</td></tr>
<tr><td>Since:</td>
<td>2.2</td></tr>
<tr><td>Required:</td>
<td>No</td></tr>
<tr><td>Display Name:</td>
<td>Interval</td></tr>
<tr><td>JavaScript Type:</td>
<td></td></tr>
<tr><td>Default Value:</td>
<td>none</td></tr>
<tr><td>Inherited:</td>
<td>Yes</td></tr>
<tr><td>Runtime Settable:</td>
<td>No</td></tr>
<tr><td>Property Sheet Visibility:</td>
<td>Visible</td></tr>
<tr><td>Property Sheet Group:</td>
<td>Interval</td></tr>
</table>

<h3>Choices</h3>

<table class="section-table">
<thead><tr><td>Name</td><td>Display Name</td>
<td>Value</td><td>Description</td></tr></thead>
<tbody>
<tr><td>none</td>
<td>No Interval</td>
<td>none</td>
<td>Group on individual values.</td></tr>
<tr><td>prefix</td>
<td>Prefix</td>
<td>prefix</td>
<td>Group on a string prefix</td></tr>
<tr><td>interval</td>
<td>Interval</td>
<td>interval</td>
<td>Group on a numeric interval.</td></tr>
</tbody></table><br>
<h3>Description</h3>

<div class="section-text">
<p>This property allows the level element to include a range of contiguous
values. For example, a monthly sales report may want to summarize a list
of individual transactions, each of which has a transaction date. Using
the Month interval, BIRT will cause a break to occur each time the
transaction dates move into a different calendar month.</p>
<p>Use this property with the <code> intervalRange</code> property
to select a set of contiguous values. For example, a bi-monthly report
would use the Month <code>interval</code> with an <code>intervalRange</code>
of 2.</p></div>
<h3>See Also</h3>

<div class="section-text">
<p><code>intervalRange</code> Property</p></div>

<hr>
<h2><a name="Property-intervalBase">intervalBase Property</a></h2>

<p class="section-text">In conjunction with Interval and IntervalRange, determines how
data is divided into groups.</p>
<h3>Details</h3>

<table class="detail-table">
<tr><td>Type:</td>
<td><a href="../types.html#string">string</a></td></tr>
<tr><td>Since:</td>
<td>2.2</td></tr>
<tr><td>Required:</td>
<td>No</td></tr>
<tr><td>Display Name:</td>
<td>Interval base</td></tr>
<tr><td>JavaScript Type:</td>
<td></td></tr>
<tr><td>Default Value:</td>
<td>None</td></tr>
<tr><td>Inherited:</td>
<td>Yes</td></tr>
<tr><td>Runtime Settable:</td>
<td>No</td></tr>
<tr><td>Property Sheet Visibility:</td>
<td>Visible</td></tr>
<tr><td>Property Sheet Group:</td>
<td>Interval</td></tr>
</table>

<h3>Description</h3>

<div class="section-text">
<p>In conjunction with Interval and IntervalRange, determines how
data is divided into groups.</p></div>

<hr>
<h2><a name="Property-intervalRange">intervalRange Property</a></h2>

<p class="section-text">Number of contiguous groups to merge to create a single group.</p>
<h3>Details</h3>

<table class="detail-table">
<tr><td>Type:</td>
<td><a href="../types.html#float">float</a></td></tr>
<tr><td>Since:</td>
<td>2.2</td></tr>
<tr><td>Required:</td>
<td>No</td></tr>
<tr><td>Display Name:</td>
<td>Interval range</td></tr>
<tr><td>JavaScript Type:</td>
<td></td></tr>
<tr><td>Default Value:</td>
<td>None</td></tr>
<tr><td>Inherited:</td>
<td>Yes</td></tr>
<tr><td>Runtime Settable:</td>
<td>No</td></tr>
<tr><td>Property Sheet Visibility:</td>
<td>Visible</td></tr>
<tr><td>Property Sheet Group:</td>
<td>Interval</td></tr>
</table>

<h3>Description</h3>

<div class="section-text">
<p>When creating intervals, this attribute allows grouping on a
range of contiguous values. For example, to show data over the span of
three hours, set the grouping interval to hours and the range to 3. The
user enters the interval range here.</p>
<p>The following shows the meaning of the range for each interval
type.</p>
<table class="section-table">
	<thead>
		<tr>
			<td>Interval</td>
			<td>Meaning of Range</td>
		</tr>
	</thead>
	<tr>
		<td>None</td>
		<td>&nbsp;Ignored</td>
	</tr>
	<tr>
		<td>Prefix</td>
		<td>&nbsp;The number of characters in the prefix.</td>
	</tr>
	<tr>
		<td>Date/Time</td>
		<td>&nbsp;The number of the units.</td>
	</tr>
	<tr>
		<td>Interval</td>
		<td>&nbsp;The numeric interval</td>
	</tr>
</table>
<p></p></div>

<hr>
<h2><a name="Property-levelType">levelType Property</a></h2>

<p class="section-text">Type of the level.</p>
<h3>Details</h3>

<table class="detail-table">
<tr><td>Type:</td>
<td><a href="../types.html#choice">choice</a> (levelType)</td></tr>
<tr><td>Since:</td>
<td>2.2</td></tr>
<tr><td>Required:</td>
<td>No</td></tr>
<tr><td>Display Name:</td>
<td>Level type</td></tr>
<tr><td>JavaScript Type:</td>
<td></td></tr>
<tr><td>Default Value:</td>
<td>None</td></tr>
<tr><td>Inherited:</td>
<td>Yes</td></tr>
<tr><td>Runtime Settable:</td>
<td>No</td></tr>
<tr><td>Property Sheet Visibility:</td>
<td>Visible</td></tr>
<tr><td>Property Sheet Group:</td>
<td>Top</td></tr>
</table>

<h3>Choices</h3>

<table class="section-table">
<thead><tr><td>Name</td><td>Display Name</td>
<td>Value</td><td>Description</td></tr></thead>
<tbody>
<tr><td>dynamic</td>
<td>Dynamic</td>
<td>dynamic</td>
<td>get the query result from data base directly</td></tr>
<tr><td>mirrored</td>
<td>Mirrored</td>
<td>mirrored</td>
<td>get the query result from the data base and then do
	some mirror handling</td></tr>
</tbody></table><br>
<h3>Description</h3>

<div class="section-text">
<p>This property indicates whether this level is dynamic or
mirrored. If the level is dynamic, you can define a list of level
attribute on it to do filter operation on the query result from data
base. If the level is mirrored, you can define a list of rules as static
values to do mirroring and set an BIRT expression as the default value,
which is used as default during mirroring.</p></div>

<hr>
<h2><a name="Property-staticValues">staticValues Property</a></h2>

<p class="section-text">Series of rules applied on this level.</p>
<h3>Details</h3>

<table class="detail-table">
<tr><td>Type:</td>
<td>List of <a href="../structs/Rule.html">Rule</a> Structures</td></tr>
<tr><td>Since:</td>
<td>2.2</td></tr>
<tr><td>Required:</td>
<td>No</td></tr>
<tr><td>Display Name:</td>
<td>Static values</td></tr>
<tr><td>JavaScript Type:</td>
<td></td></tr>
<tr><td>Default Value:</td>
<td>None</td></tr>
<tr><td>Inherited:</td>
<td>Yes</td></tr>
<tr><td>Runtime Settable:</td>
<td>No</td></tr>
<tr><td>Property Sheet Visibility:</td>
<td>Hidden</td></tr>
<tr><td>Property Sheet Group:</td>
<td>Top</td></tr>
</table>

<h3>Description</h3>

<div class="section-text">
<p>This property defines a list of rules. If the level type is
mirrored, you can add a list of rule structures as the static values to
do mirroring.</p></div>
</body>
</html>
